var runtime.mheap_
268 uses
runtime (current package)
arena.go#L763: span = mheap_.allocUserArenaChunk()
arena.go#L912: lock(&mheap_.lock)
arena.go#L913: mheap_.userArena.quarantineList.insert(s)
arena.go#L914: unlock(&mheap_.lock)
arena.go#L1014: v, size := h.sysAlloc(userArenaChunkBytes, hintList, &mheap_.userArenaArenas)
heapdump.go#L455: for _, s := range mheap_.allspans {
heapdump.go#L481: for _, s := range mheap_.allspans {
heapdump.go#L518: for i1 := range mheap_.arenas {
heapdump.go#L519: if mheap_.arenas[i1] == nil {
heapdump.go#L522: for i, ha := range mheap_.arenas[i1] {
heapdump.go#L653: for _, s := range mheap_.allspans {
heapdump.go#L676: for _, s := range mheap_.allspans {
malloc.go#L463: mheap_.init()
malloc.go#L548: hintList := &mheap_.arenaHints
malloc.go#L550: hintList = &mheap_.userArena.arenaHints
malloc.go#L552: hint := (*arenaHint)(mheap_.arenaHintAlloc.alloc())
malloc.go#L577: mheap_.heapArenaAlloc.init(meta, arenaMetaSize, true)
malloc.go#L600: if mheap_.heapArenaAlloc.next <= p && p < mheap_.heapArenaAlloc.end {
malloc.go#L601: p = mheap_.heapArenaAlloc.end
malloc.go#L614: mheap_.arena.init(uintptr(a), size, false)
malloc.go#L615: p = mheap_.arena.end // For hint below
malloc.go#L619: hint := (*arenaHint)(mheap_.arenaHintAlloc.alloc())
malloc.go#L621: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
malloc.go#L627: userArenaHint := (*arenaHint)(mheap_.arenaHintAlloc.alloc())
malloc.go#L629: userArenaHint.next, mheap_.userArena.arenaHints = mheap_.userArena.arenaHints, userArenaHint
malloc.go#L727: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
malloc.go#L730: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
mcache.go#L90: lock(&mheap_.lock)
mcache.go#L91: c = (*mcache)(mheap_.cachealloc.alloc())
mcache.go#L92: c.flushGen.Store(mheap_.sweepgen)
mcache.go#L93: unlock(&mheap_.lock)
mcache.go#L118: lock(&mheap_.lock)
mcache.go#L119: mheap_.cachealloc.free(unsafe.Pointer(c))
mcache.go#L120: unlock(&mheap_.lock)
mcache.go#L158: if s.sweepgen != mheap_.sweepgen+3 {
mcache.go#L161: mheap_.central[spc].mcentral.uncacheSpan(s)
mcache.go#L184: s = mheap_.central[spc].mcentral.cacheSpan()
mcache.go#L195: s.sweepgen = mheap_.sweepgen + 3
mcache.go#L236: s := mheap_.alloc(npages, spc)
mcache.go#L255: mheap_.central[spc].mcentral.fullSwept(mheap_.sweepgen).push(s)
mcache.go#L274: sg := mheap_.sweepgen
mcache.go#L301: mheap_.central[i].mcentral.uncacheSpan(s)
mcache.go#L330: sg := mheap_.sweepgen
mcache.go#L340: c.flushGen.Store(mheap_.sweepgen) // Synchronizes with gcStart
mcentral.go#L113: sg := mheap_.sweepgen
mcentral.go#L210: sg := mheap_.sweepgen
mcentral.go#L253: s := mheap_.alloc(npages, c.spanclass)
mcheckmark.go#L43: arena := mheap_.arenas[ai.l1()][ai.l2()]
mcheckmark.go#L58: for _, ai := range mheap_.heapArenas {
mcheckmark.go#L61: for _, ai := range mheap_.userArenaArenas {
mcheckmark.go#L109: arena := mheap_.arenas[ai.l1()][ai.l2()]
mcheckmark.go#L302: for _, ai := range mheap_.markArenas {
mcheckmark.go#L303: ha := mheap_.arenas[ai.l1()][ai.l2()]
mcleanup.go#L201: lock(&mheap_.speciallock)
mcleanup.go#L202: mheap_.specialCleanupAlloc.free(unsafe.Pointer(found))
mcleanup.go#L203: unlock(&mheap_.speciallock)
metrics.go#L657: lock(&mheap_.lock)
metrics.go#L659: a.mSpanInUse = uint64(mheap_.spanalloc.inuse)
metrics.go#L661: a.mCacheInUse = uint64(mheap_.cachealloc.inuse)
metrics.go#L662: unlock(&mheap_.lock)
mgc.go#L716: if fg := p.mcache.flushGen.Load(); fg != mheap_.sweepgen {
mgc.go#L717: println("runtime: p", p.id, "flushGen", fg, "!= sweepgen", mheap_.sweepgen)
mgc.go#L1158: mheap_.pages.scav.index.nextGen()
mgc.go#L1231: lock(&mheap_.lock)
mgc.go#L1232: pp.pcache.flush(&mheap_.pages)
mgc.go#L1233: unlock(&mheap_.lock)
mgc.go#L1328: mheap_.enableMetadataHugePages()
mgc.go#L1724: lock(&mheap_.lock)
mgc.go#L1725: mheap_.sweepgen += 2
mgc.go#L1727: mheap_.pagesSwept.Store(0)
mgc.go#L1728: mheap_.sweepArenas = mheap_.heapArenas
mgc.go#L1729: mheap_.reclaimIndex.Store(0)
mgc.go#L1730: mheap_.reclaimCredit.Store(0)
mgc.go#L1731: unlock(&mheap_.lock)
mgc.go#L1738: lock(&mheap_.lock)
mgc.go#L1739: mheap_.sweepPagesPerByte = 0
mgc.go#L1740: unlock(&mheap_.lock)
mgc.go#L1790: lock(&mheap_.lock)
mgc.go#L1791: arenas := mheap_.heapArenas
mgc.go#L1792: unlock(&mheap_.lock)
mgc.go#L1794: ha := mheap_.arenas[ai.l1()][ai.l2()]
mgc.go#L1938: lock(&mheap_.speciallock)
mgc.go#L1939: s := (*specialReachable)(mheap_.specialReachableAlloc.alloc())
mgc.go#L1940: unlock(&mheap_.speciallock)
mgc.go#L1965: lock(&mheap_.speciallock)
mgc.go#L1966: mheap_.specialReachableAlloc.free(unsafe.Pointer(s))
mgc.go#L1967: unlock(&mheap_.speciallock)
mgcmark.go#L96: mheap_.markArenas = mheap_.heapArenas[:len(mheap_.heapArenas):len(mheap_.heapArenas)]
mgcmark.go#L97: work.nSpanRoots = len(mheap_.markArenas) * (pagesPerArena / pagesPerSpanRoot)
mgcmark.go#L352: sg := mheap_.sweepgen
mgcmark.go#L355: ai := mheap_.markArenas[shard/(pagesPerArena/pagesPerSpanRoot)]
mgcmark.go#L356: ha := mheap_.arenas[ai.l1()][ai.l2()]
mgcpacer.go#L1219: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1279: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1296: lock(&mheap_.lock)
mgcpacer.go#L1299: unlock(&mheap_.lock)
mgcpacer.go#L1328: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1343: lock(&mheap_.lock)
mgcpacer.go#L1348: unlock(&mheap_.lock)
mgcpacer.go#L1352: unlock(&mheap_.lock)
mgcpacer.go#L1460: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcscavenge.go#L168: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcscavenge.go#L395: r := mheap_.pages.scavenge(n, nil, false)
mgcscavenge.go#L661: mheap_.pages.scav.releasedBg.Add(released)
mgcsweep.go#L152: return sweepLocker{mheap_.sweepgen, false}
mgcsweep.go#L155: return sweepLocker{mheap_.sweepgen, true}
mgcsweep.go#L163: if sl.sweepGen != mheap_.sweepgen {
mgcsweep.go#L178: print("pacer: sweep done at heap size ", live>>20, "MB; allocated ", (live-mheap_.sweepHeapLiveBasis)>>20, "MB during sweep; swept ", mheap_.pagesSwept.Load(), " pages at ", mheap_.sweepPagesPerByte, " pages/byte\n")
mgcsweep.go#L255: sg := mheap_.sweepgen
mgcsweep.go#L256: for i := range mheap_.central {
mgcsweep.go#L257: c := &mheap_.central[i].mcentral
mgcsweep.go#L377: s := mheap_.nextSpanForSweep()
mgcsweep.go#L399: mheap_.reclaimCredit.Add(npages)
mgcsweep.go#L429: lock(&mheap_.lock)
mgcsweep.go#L432: releasedBg := mheap_.pages.scav.releasedBg.Load()
mgcsweep.go#L433: releasedEager := mheap_.pages.scav.releasedEager.Load()
mgcsweep.go#L439: mheap_.pages.scav.releasedBg.Add(-releasedBg)
mgcsweep.go#L440: mheap_.pages.scav.releasedEager.Add(-releasedEager)
mgcsweep.go#L441: unlock(&mheap_.lock)
mgcsweep.go#L519: sweepgen := mheap_.sweepgen
mgcsweep.go#L531: mheap_.pagesSwept.Add(int64(s.npages))
mgcsweep.go#L739: mheap_.central[spc].mcentral.fullSwept(sweepgen).push(s)
mgcsweep.go#L745: mheap_.pagesInUse.Add(-s.npages)
mgcsweep.go#L753: if s.list != &mheap_.userArena.quarantineList {
mgcsweep.go#L756: lock(&mheap_.lock)
mgcsweep.go#L757: mheap_.userArena.quarantineList.remove(s)
mgcsweep.go#L758: mheap_.userArena.readyList.insert(s)
mgcsweep.go#L759: unlock(&mheap_.lock)
mgcsweep.go#L787: mheap_.freeSpan(s)
mgcsweep.go#L792: mheap_.central[spc].mcentral.fullSwept(sweepgen).push(s)
mgcsweep.go#L794: mheap_.central[spc].mcentral.partialSwept(sweepgen).push(s)
mgcsweep.go#L833: mheap_.freeSpan(s)
mgcsweep.go#L839: mheap_.central[spc].mcentral.fullSwept(sweepgen).push(s)
mgcsweep.go#L913: if mheap_.sweepPagesPerByte == 0 {
mgcsweep.go#L926: sweptBasis := mheap_.pagesSweptBasis.Load()
mgcsweep.go#L928: liveBasis := mheap_.sweepHeapLiveBasis
mgcsweep.go#L948: pagesTarget := int64(mheap_.sweepPagesPerByte*float64(newHeapLive)) - int64(callerSweepPages)
mgcsweep.go#L949: for pagesTarget > int64(mheap_.pagesSwept.Load()-sweptBasis) {
mgcsweep.go#L951: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L954: if mheap_.pagesSweptBasis.Load() != sweptBasis {
mgcsweep.go#L982: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcsweep.go#L986: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L1003: pagesSwept := mheap_.pagesSwept.Load()
mgcsweep.go#L1004: pagesInUse := mheap_.pagesInUse.Load()
mgcsweep.go#L1007: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L1009: mheap_.sweepPagesPerByte = float64(sweepDistancePages) / float64(heapDistance)
mgcsweep.go#L1010: mheap_.sweepHeapLiveBasis = heapLiveBasis
mgcsweep.go#L1014: mheap_.pagesSweptBasis.Store(pagesSwept)
mgcwork.go#L162: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
mgcwork.go#L421: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
mgcwork.go#L436: s = mheap_.allocManual(workbufAlloc/pageSize, spanAllocWorkBuf)
mgcwork.go#L541: mheap_.freeManual(span, spanAllocWorkBuf)
mheap.go#L262: var mheap_ mheap
mheap.go#L709: if ri.l2() >= uint(len(mheap_.arenas[0])) {
mheap.go#L714: if ri.l1() >= uint(len(mheap_.arenas)) {
mheap.go#L718: l2 := mheap_.arenas[ri.l1()]
mheap.go#L737: return mheap_.arenas[ai.l1()][ai.l2()].spans[(p/pageSize)%pagesPerArena]
mheap.go#L763: arena = mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L774: if ri.l2() >= uint(len(mheap_.arenas[0])) {
mheap.go#L779: if ri.l1() >= uint(len(mheap_.arenas)) {
mheap.go#L783: l2 := mheap_.arenas[ri.l1()]
mheap.go#L1382: mheap_.pages.scav.releasedEager.Add(released)
mheap.go#L1781: systemstack(func() { mheap_.scavengeAll() })
mheap.go#L2028: ha := mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L2036: ha := mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L2154: lock(&mheap_.speciallock)
mheap.go#L2155: s := (*specialfinalizer)(mheap_.specialfinalizeralloc.alloc())
mheap.go#L2156: unlock(&mheap_.speciallock)
mheap.go#L2185: lock(&mheap_.speciallock)
mheap.go#L2186: mheap_.specialfinalizeralloc.free(unsafe.Pointer(s))
mheap.go#L2187: unlock(&mheap_.speciallock)
mheap.go#L2197: lock(&mheap_.speciallock)
mheap.go#L2198: mheap_.specialfinalizeralloc.free(unsafe.Pointer(s))
mheap.go#L2199: unlock(&mheap_.speciallock)
mheap.go#L2216: lock(&mheap_.speciallock)
mheap.go#L2217: s := (*specialCleanup)(mheap_.specialCleanupAlloc.alloc())
mheap.go#L2218: mheap_.cleanupID++ // Increment first. ID 0 is reserved.
mheap.go#L2219: id := mheap_.cleanupID
mheap.go#L2220: unlock(&mheap_.speciallock)
mheap.go#L2266: lock(&mheap_.speciallock)
mheap.go#L2267: s := (*specialCheckFinalizer)(mheap_.specialCheckFinalizerAlloc.alloc())
mheap.go#L2268: unlock(&mheap_.speciallock)
mheap.go#L2373: lock(&mheap_.speciallock)
mheap.go#L2374: mheap_.specialCheckFinalizerAlloc.free(unsafe.Pointer(found))
mheap.go#L2375: unlock(&mheap_.speciallock)
mheap.go#L2391: lock(&mheap_.speciallock)
mheap.go#L2392: s := (*specialTinyBlock)(mheap_.specialTinyBlockAlloc.alloc())
mheap.go#L2393: unlock(&mheap_.speciallock)
mheap.go#L2562: handle := mheap_.immortalWeakHandles.getOrAdd(uintptr(p))
mheap.go#L2575: lock(&mheap_.speciallock)
mheap.go#L2576: s := (*specialWeakHandle)(mheap_.specialWeakHandleAlloc.alloc())
mheap.go#L2577: unlock(&mheap_.speciallock)
mheap.go#L2615: lock(&mheap_.speciallock)
mheap.go#L2616: mheap_.specialWeakHandleAlloc.free(unsafe.Pointer(s))
mheap.go#L2617: unlock(&mheap_.speciallock)
mheap.go#L2637: return mheap_.immortalWeakHandles.getOrAdd(uintptr(p))
mheap.go#L2750: lock(&mheap_.speciallock)
mheap.go#L2751: s := (*specialprofile)(mheap_.specialprofilealloc.alloc())
mheap.go#L2752: unlock(&mheap_.speciallock)
mheap.go#L2809: lock(&mheap_.speciallock)
mheap.go#L2810: mheap_.specialfinalizeralloc.free(unsafe.Pointer(sf))
mheap.go#L2811: unlock(&mheap_.speciallock)
mheap.go#L2815: lock(&mheap_.speciallock)
mheap.go#L2816: mheap_.specialWeakHandleAlloc.free(unsafe.Pointer(s))
mheap.go#L2817: unlock(&mheap_.speciallock)
mheap.go#L2821: lock(&mheap_.speciallock)
mheap.go#L2822: mheap_.specialprofilealloc.free(unsafe.Pointer(sp))
mheap.go#L2823: unlock(&mheap_.speciallock)
mheap.go#L2829: lock(&mheap_.speciallock)
mheap.go#L2830: mheap_.specialPinCounterAlloc.free(unsafe.Pointer(s))
mheap.go#L2831: unlock(&mheap_.speciallock)
mheap.go#L2838: lock(&mheap_.speciallock)
mheap.go#L2839: mheap_.specialCleanupAlloc.free(unsafe.Pointer(sc))
mheap.go#L2840: unlock(&mheap_.speciallock)
mheap.go#L2843: lock(&mheap_.speciallock)
mheap.go#L2844: mheap_.specialCheckFinalizerAlloc.free(unsafe.Pointer(sc))
mheap.go#L2845: unlock(&mheap_.speciallock)
mheap.go#L2848: lock(&mheap_.speciallock)
mheap.go#L2849: mheap_.specialTinyBlockAlloc.free(unsafe.Pointer(st))
mheap.go#L2850: unlock(&mheap_.speciallock)
mheap.go#L2853: lock(&mheap_.speciallock)
mheap.go#L2854: mheap_.specialBubbleAlloc.free(unsafe.Pointer(st))
mheap.go#L2855: unlock(&mheap_.speciallock)
mpagealloc.go#L455: lock(&mheap_.lock)
mpagealloc.go#L457: unlock(&mheap_.lock)
mpagealloc.go#L464: unlock(&mheap_.lock)
mpagealloc.go#L620: if p.test || mheap_.arenas[ai.l1()] == nil || mheap_.arenas[ai.l1()][ai.l2()] == nil {
mstats.go#L539: stats.MSpanInuse = uint64(mheap_.spanalloc.inuse)
mstats.go#L541: stats.MCacheInuse = uint64(mheap_.cachealloc.inuse)
mstats.go#L585: lock(&mheap_.lock)
mstats.go#L606: unlock(&mheap_.lock)
panic.go#L1356: if mheap_.cachealloc.size == 0 { // very early
pinner.go#L330: lock(&mheap_.speciallock)
pinner.go#L331: rec = (*specialPinCounter)(mheap_.specialPinCounterAlloc.alloc())
pinner.go#L332: unlock(&mheap_.speciallock)
pinner.go#L359: lock(&mheap_.speciallock)
pinner.go#L360: mheap_.specialPinCounterAlloc.free(unsafe.Pointer(counter))
pinner.go#L361: unlock(&mheap_.speciallock)
proc.go#L5823: mheap_.spanalloc.free(unsafe.Pointer(pp.mspancache.buf[i]))
proc.go#L5826: lock(&mheap_.lock)
proc.go#L5827: pp.pcache.flush(&mheap_.pages)
proc.go#L5828: unlock(&mheap_.lock)
stack.go#L197: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
stack.go#L200: s = mheap_.allocManual(_StackCacheSize>>gc.PageShift, spanAllocStack)
stack.go#L271: mheap_.freeManual(s, spanAllocStack)
stack.go#L418: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
stack.go#L422: s = mheap_.allocManual(npage, spanAllocStack)
stack.go#L543: mheap_.freeManual(s, spanAllocStack)
stack.go#L1304: mheap_.freeManual(s, spanAllocStack)
stack.go#L1318: mheap_.freeManual(s, spanAllocStack)
synctest.go#L413: lock(&mheap_.speciallock)
synctest.go#L414: s := (*specialBubble)(mheap_.specialBubbleAlloc.alloc())
synctest.go#L415: unlock(&mheap_.speciallock)
trace.go#L238: trace.minPageHeapAddr = uint64(mheap_.pages.inUse.ranges[0].base.addr())
traceallocfree.go#L55: for _, s := range mheap_.allspans {